home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SGI Developer Toolbox 6.1
/
SGI Developer Toolbox 6.1 - Disc 4.iso
/
bin
/
doc,etc.
/
fsn.z
/
fsn
Wrap
Text File
|
1994-08-01
|
32KB
|
859 lines
ffffssssnnnn((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ffffssssnnnn((((1111))))
NNNNAAAAMMMMEEEE
fsn - file system navigator
SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
ffffssssnnnn [ directory ] [-landscape <landscapeName>] [xOptions]
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
_f_s_n (pronounced fusion) is a file system navigator in
cyberspace. It lays out the directories in a hierarchy with
each directory represented by a pedestal. The height of the
pedestal is proportional to the size of the files in the
directory. The directories are connected by wires, on which
it is possible to travel. On top of each directory are
boxes representing individual files. The height of the box
represents the size of the file, while the color represents
the age.
Fsn is intended as an investigation in information landscape
navigation. Although the file system was chosen as a system
to navigate through, similar paradigms could be applied to
other trees and graphs, such as call graphs.
Keep in mind that fsn is a prototype and an experiment. It
is neither a full featured product nor a replacement for a
filesystem manager such as Workspace.
Fsn requires Z-buffering and RGB support. It is recommended
that you have at least 16MB of memory, especially on an
Indigo, where Z buffering uses a lot of memory. FAM (The
File Activity Monitor) must be installed on the system as
well. It can be obtained as part of the subsystem
_e_o_e_2._s_w._e_n_v_m.
IIIInnnnvvvvooooccccaaaattttiiiioooonnnn
The parameter to fsn should be the top directory to be
looked at. This directory can be "/", in which case the
whole file system is scanned. Although the system works
fine starting at "/", startup time is somewhat longer, and
for a large file system, the animation is somewhat chunky.
You may prefer to start at your home directory. Even if you
start at "/", you can still prune it to a small size using
the _P_r_u_n_e function. If no directory is specified, fsn
starts in the current directory.
When scanning a file system, fsn will not cross file system
type boundaries. For example, it will not cross into an NFS
file system. However, it will cross mount points of the
same type of file system.
The first time fsn is run it will scan the whole file
system. Be patient, this can take a few minutes. After it
has scanned the file system it will save a database in your
Page 1 (printed 3/10/92)
ffffssssnnnn((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ffffssssnnnn((((1111))))
home directory so that subsequent startups can be done in
seconds rather than minutes. On subsequent runs the
database will be read, making fsn quickly available.
In addition to remembering the file system layout, fsn also
remembers additional information across invocations,
including your position, which windows you had showing, and
any marks you might have made.
In addition to the name of the directory, fsn also takes an
optional landscape specification, which describes the
landscape on which the directory hierarchy is laid out.
There are several landscapes available which can be chosen
with the ----llllaaaannnnddddssssccccaaaappppeeee argument. The default landscape is
_g_r_a_s_s, with a daytime sky and grassland. Also available are
_o_c_e_a_n, _d_e_s_e_r_t, and _s_p_a_c_e. (Ocean is rather psychadelic; I
recommend it.) There is also a landscape called _i_n_d_i_g_o,
with colors chosen to look good on an Indigo (and it is the
default landscape for the Indigo). You can also set up your
own landscape by manipulating the colors resources (see
Resources later).
GGGGeeeettttttttiiiinnnngggg HHHHeeeellllpppp
You can get help at any time from the Help menu. _H_e_l_p _O_n
_W_i_n_d_o_w will provide an overview of fsn, while _H_e_l_p _O_n
_C_o_n_t_e_x_t will allow you to select an individual widget and
get help on it. You can also get help on any widget by
pressing FFFF1111 with the pointer over any widget. Most of the
operation is reasonably self explanatory, and with the use
of the help information you should be able to run it
reasonably well at this point. However, as long as you've
read this far, I would recommend reading the next two
sections.
SSSSeeeelllleeeeccccttttiiiinnnngggg DDDDiiiirrrreeeeccccttttoooorrrriiiieeeessss aaaannnndddd FFFFiiiilllleeeessss
When moving the mouse over files and directories, they will
highlight and their name show up in the upper left hand
corner. Use the left mouse button to select the highlighted
directory or file. When a directory is selected it, and the
line leading to it, will brighten. When a file is selected
a spotlight will shine on it. Selecting a directory or file
will also zoom into it. If a file is selected and you wish
to see the whole directory, just click on the directory
pedestal.
You can select a directory or file without zooming to it by
using shift-left mouse.
You can also select a directory by clicking on the line
leading to it. However, if a directory is already selected,
clicking on the line zooms to the parent of the directory.
Page 2 (printed 3/10/92)
ffffssssnnnn((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ffffssssnnnn((((1111))))
In addition to just highlighting and zooming to a directory,
selecting the directory checks the directory for changes,
and starts up FAM monitoring on that directory.
(Directories marked permanently monitored are always subject
to FAM monitoring).
Double clicking the left mouse button performs specific
actions. Double clicking on a directory warps you into _W_a_r_p
_m_o_d_e, which shows you only information on the selected
directory. This will be discussed more later. Double
clicking on a file will execute or launch it in a manner
similar to Workspace, or it will put you in a viewer if it
is a source file. (You can also use Alt-double click, which
behaves similar to Workspace. For source files, Alt-double
click will always launch an editor rather than using the
viewer).
When a file at the edge of a directory is selected, an arrow
shows up next to it. Clicking on this arrow allows you to
easily zoom to the first file on the next row or to the last
file on the previous row.
MMMMoooovvvviiiinnnngggg AAAArrrroooouuuunnnndddd
Although you may find the left mouse button sufficient for
most of you're navigation, you can also move around without
selecting or zooming using the middle mouse button.
Pressing the middle mouse gives you a cross hair. Moving
the mouse from that point while holding the middle button
gives you a velocity based on the direction in which the
mouse is moved. Moving the mouse left and right moves you
left and right. Moving it forward and backward moves you
forward and backward. The farther you move the mouse from
the cross hair, the faster you go.
If you hold the shift button down while using the middle
mouse, moving forward will also move you down, while moving
backward will move you up.
MMMMooooddddeeeessss
The main interaction panel can be in several modes. In
split screen, each interaction panel can be in a different
mode.
By default, the interaction panel comes up showing a
complete landscape of the file system hierarchy. This is
referred to as _l_a_n_d_s_c_a_p_e _m_o_d_e.
By double clicking on a directory, you are _w_a_r_p_e_d into _w_a_r_p
_m_o_d_e. Warp mode provides an alternate navigation paradigm.
Only a single directory is shown in warp mode. All child
directories are shown as buttons below the directory.
Clicking the left mouse buttons on those immediately warps
Page 3 (printed 3/10/92)
ffffssssnnnn((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ffffssssnnnn((((1111))))
you to those directories.
Above the directory are up to three special directory
buttons. The ".." button warps you to the parent directory.
The "<-" and "->" buttons warp you to the entries before and
after this directory in the parent directory.
While warp mode currently shows no information that is not
available outside of warp mode, the idea is that it could.
For example we could separate files by types, or allow the
user to layout the files within warp mode.
You can exit warp mode by clicking outside the directory.
By double clicking on a text file, you are placed in a
viewer. The viewer also provides limited editing
capabilities, although for a full editor you should press
the _e_d_i_t button from within the viewer. If you do make
changes, press _s_a_v_e to save them. When you are through
editing, press _d_o_n_e.
If you prefer to always use an editor, set the *useViewer
resource to FALSE.
TTTThhhheeee OOOOvvvveeeerrrrvvvviiiieeeewwww WWWWiiiinnnnddddoooowwww
The Overview window shows an overview of all the directories
in the file system. It can be shown or hidden with the Show
menu. Your position is shown with an X. If split screen is
enabled, both positions are shown with different colored
X's.
Clicking the left mouse button on a directory in the
overview will select that directory and zoom you to it. If
you are in warp mode, you will warp directly to it.
Clicking the left mouse button elsewhere, will zoom you to
that location (and will be ignored in warp mode).
Shift left mouse will select the directory without zooming.
It does not have any effect in warp mode
Clicking the middle mouse button while in the overview will
zoom you to that location (except in warp mode) without
selecting the directory. You will notice that the cursor
doesn't track the mouse, but lags behind it. This is
deliberate. By moving at a constant rate, it provides
smoother motion.
TTTThhhheeee SSSSeeeessssssssiiiioooonnnn MMMMeeeennnnuuuu
The Session menu provides operations that affect the whole
application.
Split Screen
Page 4 (printed 3/10/92)
ffffssssnnnn((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ffffssssnnnn((((1111))))
Splits the screen in two. This is required for move
operations.
Rescan
Rescans the whole file system. Normally, a directory
is rescanned any time it is selected. Also,
directories that are monitored are continually kept up
to date. Fsn is still usable during a rescan, but it
is somewhat slower and uses system resources. However,
an occasional rescan is recommended just to keep things
up to date.
Save Database
Saves the file system database. Normally it is saved
every 15 minutes, and when the program is exited.
However, if you make massive file system changes, you
may want to resave your database immediately in case
fsn gets killed. Not saving your database is not
serious, however the changes may not be noticed the
next time you restart until you select the changed
directory (unless the directory is permanently
monitored).
Process Deletes
Deletes previously selected from the File menu are
processed. This is irreversible.
Undo Deletes
Deletes previously selected from the File menu are
cancelled.
Quit Saves the database and Quits.
TTTThhhheeee SSSShhhhoooowwww MMMMeeeennnnuuuu
The Show menu lets you show (or hide) various auxiliary
windows. If a window is showing (hidden) when you exit fsn,
it will still be showing (hidden) when you restart it.
You can hide any of these windows by selecting "Hide" on the
show menu and selecting the window from there.
Overview
Brings up the overview window, discussed above.
Controls
Shows the Control panel, discussed below.
Legend
Shows the legend at the bottom, listing file ages
Preference panel
A panel that allows you to play around with various
Page 5 (printed 3/10/92)
ffffssssnnnn((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ffffssssnnnn((((1111))))
resources. This is intended mainly for testing, and
not all the resources are even documented. Changing
one resource may break others, so use at your own risk.
Still it can be fun, especially changing the colors.
The preference panel is discussed further under
resources.
TTTThhhheeee DDDDiiiissssppppllllaaaayyyy MMMMeeeennnnuuuu
The display menu controls how files and directories are
displayed. Changes made via this menu will be remembered on
subsequent invocations of fsn. The display menu has two
submenus: _H_e_i_g_h_t and _D_i_r_e_c_t_o_r_y _H_e_i_g_h_t.
The _H_e_i_g_h_t submenu affects both files and directories as
follows:
None
Do not display height. Note that all files are still
displayed at a small minimum height.
Linear
The height is proportional to the size of the file or
directory. Files still have a minimum height.
Exaggerated
The height is proportional to the square root of the
file or directory size. This grows small files more
than large ones, and tends to avoid directories with a
lot of small files and one or two large ones.
The _D_i_r_e_c_t_o_r_y _H_e_i_g_h_t submenu controls how the size of the
directory is determined when calculating its height:
Flat
Draw directories flat.
Files Only
The size is based on the size of the files within the
directory. Subdirectories do not affect the size.
Including Children
The size is based on the size of the files within the
directory, plus the size of the files within all
subdirectories (similar to du).
TTTThhhheeee DDDDiiiirrrreeeeccccttttoooorrrryyyy MMMMeeeennnnuuuu
The directory menu contains commands that apply to the
selected directory. If no directory is selected, the
directory menu is disabled.
Monitor
Turns on and off permanent FAM monitoring for the
Page 6 (printed 3/10/92)
ffffssssnnnn((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ffffssssnnnn((((1111))))
selected directory. If this is turned off, the
directory is monitored only while it is selected.
Monitor Subtree
Turns on permanent FAM monitoring for the selected
directory and all its children. Don't try this on /.
Stop Monitor Subtree
Turns off permanent FAM monitoring for the selected
directory and all its children.
Rescan Subtree
Similar to Rescan on the session menu, except only
rescan for changes in this directory and all its
children.
Prune
Removes all children of the directory from the
database. Unpruning a directory can be slow.
TTTThhhheeee FFFFiiiilllleeee MMMMeeeennnnuuuu
The file menu contains commands that apply to the selected
file. If no file is selected, the file menu is disabled.
For convenience, the File menu also appears as a popup menu.
WARNING: When using the popup menu, be aware that the file
commands apply to the selected file, not to the file that is
under the cursor and is highlighted.
Open Equivalent to double clicking on the file, this edits,
executes, or performs any other appropriate launch
action on the file.
Print
Prints the file. It uses the same method that
Workspace would use to print the file.
Delete
Marks the file for delete. The file changes to a wire
frame. You must choose _P_r_o_c_e_s_s _D_e_l_e_t_e_s from the
Session menu to actually delete the file. Selecting
this item again will unmark the file for delete.
Move file, Copy file, and Link file
To use these items, you must be in split screen mode.
In one screen you must select a directory (only), and
in the other a file. The file will be moved (copied,
linked) to the directory.
TTTThhhheeee CCCCoooonnnnttttrrrroooollll PPPPaaaannnneeeellll
The Control window has various controls that can be used to
aid in navigation. If you do not wish to use the control
Page 7 (printed 3/10/92)
ffffssssnnnn((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ffffssssnnnn((((1111))))
panel, you can hide it from the Show menu.
reset
Sets you back to an initial position above the file
system.
go back
Returns you to the position before your previous move
or zoom. Pressing _g_o _b_a_c_k repeatedly takes you back
additional steps.
birds eye
Gives you a view from above the file system. In
landscape mode it is high above; in warp mode it is
from just above the directory.
front view
Takes you to the front of the view. In landscape mode
it is identical to reset; in warp mode it takes you to
the front of the directory.
Tilt and Height
Control your angle relative to the plane and how high
you are above it. because they also affect where you
are looking at, they can have unexpected side effects.
Use at your own risk.
MMMMaaaarrrrkkkkssss
The Mark control allows you to mark a position and go back
to it later. Not only is your position marked, but so are
selected directories and files.
To mark a position, press the mark button. When a dialog
comes up, choose a name for the mark. If you have a file or
directory name selected, the mark name will default to that,
but you can change it to anything you want.
To return to a mark, select the mark in the Marks menu and
press _g_o _t_o. (You can also double click on the menu entry).
You can delete a mark by selecting it in the menu and
pressing _d_e_l_e_t_e.
Marks will be remembered across invocations of fsn.
SSSSppppaaaacccceeeebbbbaaaallllllll SSSSuuuuppppppppoooorrrrtttt
If the spaceball is attached, it can be used to navigate.
Push in the direction you want to go. If the _s_p_a_c_e_b_a_l_l_T_i_l_t
resource is TRUE, it also controls the tilt angle, although
that makes navigation more difficult. You must still select
directories with the mouse.
RRRREEEESSSSOOOOUUUURRRRCCCCEEEESSSS
PPPPaaaaggggeeee 8888 ((((pppprrrriiiinnnntttteeeedddd 3333////11110000////99992222))))
ffffssssnnnn((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ffffssssnnnn((((1111))))
Fsn has a lot of resources. Many of them are intended for
tuning the behavior, and will eventually be eliminated.
Changing them can be tricky, as many other resources need to
change as well. Feel free to play with any of the
resources, but at your own risk. Only those resources
considered to be of general interest are documented here.
Resources documented here may be changed reasonably safely.
With the exception of the _l_a_n_d_s_c_a_p_e resource, all resources
can be changed from the preference panel.
RRRReeeessssoooouuuurrrrcccceeeessss AAAAffffffffeeeeccccttttiiiinnnngggg CCCCoooolllloooorrrr
landscape (default: grass or indigo)
A meta-resource that controls the defaults other
resources. Currently available are grass (a meadow
during the day), ocean (an ocean at sunset), desert (a
desert at sunrise), space (black background), and
indigo (similar to grass, but with the colors tuned to
look reasonably good in double buffered mode on an
indigo).
useGouraud
A boolean variable that controls whether the sky and
ground are drawn with Gouraud shading. It looks much
better, but has a very small performance cost.
groundColor
The color of the ground if _u_s_e_G_o_u_r_a_u_d is FALSE.
farGroundColor and nearGroundColor (default: vary by landscape)
The color of the ground if _u_s_e_G_o_u_r_a_u_d is TRUE.
skyColor
The color of the sky if _u_s_e_G_o_u_r_a_u_d is FALSE.
topSkyColor and bottomSkyColor
The color of the sky if _u_s_e_G_o_u_r_a_u_d is TRUE.
overviewBackgroundColor (default: same as groundColor)
The background of the overview window.
dirColor
The color of an unselected directory. Selected
directories are a brighter version of this.
warpDirColor
The color of directory buttons in warp mode.
specialDirColor
The color of the special directories (<-, .., and ->)
in warp mode.
Page 9 (printed 3/10/92)
ffffssssnnnn((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ffffssssnnnn((((1111))))
dirMonColor
The color of the skirt surrounding permanently
monitored directories.
selLineColor
The color of a line leading to a selected directory.
unselLineColor
The color of a line leading to an unselected directory.
pruneColor
The color of a line leading to a pruned directory.
spotlightColor
The color of the spotlight highlighting files.
warpFlashColor
If _f_l_a_s_h_O_n_W_a_r_p is TRUE, the color of the flash.
fileColor0 through fileColor6
The colors representing the ages of files.
The following resources are floating point values that
determine how the base color is modified when drawing
directories and files.
colorSelectSaturationFactor and colorSelectValueFactor
The saturation and value of the base color are
multiplied by these factors if the directory and file
are selected.
colorUnselectSaturationFactor and colorUnselectValueFactor
The saturation and value of the base color are
multiplied by these factors if the directory and file
are unselected.
colorBackValueFactor
colorTopValueFactor, colorSideValueFactor and
The values of the base colors are multiplied by these
factors to achieve the artificial lighting.
colorShadowSaturationFactor and colorShadowValueFactor
The saturation and value of the base color are
multipled by these factors to achieve the color of the
icon shadow.
CCCCoooonnnnttttrrrroooollll RRRReeeessssoooouuuurrrrcccceeeessss
These resources provide some useful control over the
behavior of fsn.
shrinkOnZoom (default: TRUE)
If TRUE, zooming to a file shrinks the file to a small
Page 10 (printed 3/10/92)
ffffssssnnnn((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ffffssssnnnn((((1111))))
height and leaves a pole of the original height. This
makes it easy to see the files behind it. If FALSE,
full sized blocks are always retained.
beamOnMove (default: TRUE)
If TRUE, a _b_e_a_m_i_n_g effect is used when moving, copying
or linking files. This takes a little bit of time, and
so can be turned off by setting this resource to FALSE.
useViewer (default: TRUE)
If TRUE, opening a file uses a built in quick viewer,
rather than an editor.
propagateMonitor (default: FALSE)
If TRUE, new directories created in a permanently
monitored directory are also permanently monitored.
compressDatabase (default: TRUE)
If TRUE, uses compress to save the on disk database.
This is a little slower to start up and exit, but saves
significant disk space.
flashOnWarp (default: FALSE)
If TRUE, generates a flash whenever warping. Somewhat
ugly.
spaceballTilt (default: FALSE)
If TRUE, the spaceball controls the tilt angle as well
as x, y, and z coordinates. This can make navigation
more difficult.
monitorTimeout (default: 120)
For directories that are not permanently monitored with
FAM, monitoring is started whenever they are selected.
After they are unselected, monitoring is ceased this
many seconds after the unselection. If the directory
is reselected before this timeout, it need not restart
monitoring.
locateHighlightThickness (default 3)
The thickness in pixels of the locate highlight
information.
mouseSpeed (default 0.7)
Controls the sensitivity of the mouse when navigating.
Increasing this value will cause you to move faster for
a given mouse displacement. The units are arbitrary.
heightPower (default 0.5)
In exaggerated mode, controls the power used for
exaggeration. 0.5 uses the square root. 0.33 means
the cube root. 1.0 is the same as linear. 0.0 makes
Page 11 (printed 3/10/92)
ffffssssnnnn((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ffffssssnnnn((((1111))))
all files the same (large) size.
maxFileHeight (default 4)
Controls the height of the tallest file. Units are
arbitrary.
maxDirHeight (default 2)
Controls the height of the tallest directory. Units
are the same as for files.
OOOOtttthhhheeeerrrr IIIInnnntttteeeerrrreeeessssttttiiiinnnngggg RRRReeeessssoooouuuurrrrcccceeeessss
Changing the following resources can produce interesting
effects, although it is not recommended that you permanently
change them, as many other resources would need to change.
shrinkagePower and shrinkageDistance
In order to be able to see a larger context, objects in
the distance are narrowed much more than perspective
would normally do. These two resources control this
narrowing. Objects at a distance of _s_h_r_i_n_k_a_g_e_D_i_s_t_a_n_c_e
are narrowed by a factor of _s_h_r_i_n_k_a_g_e_P_o_w_e_r. For
example if _s_h_r_i_n_k_a_g_e_P_o_w_e_r is 2.0, something twice as
far is half as wide (in addition to the effects of
normal perspective). To see what happens with a normal
perspective, set _s_h_r_i_n_k_a_g_e_P_o_w_e_r to 1.0.
TTTTOOOO DDDDOOOO ((((aaaa ppppoooolllliiiitttteeee wwwwoooorrrrdddd ffffoooorrrr BBBBUUUUGGGGSSSS))))
This is just a prototype. There are a lot of obvious
features that should be there but aren't. This list is not
ordered in any particular manner.
There should be a way to select multiple files or
directories.
The shrinkage algorithm used to permit seeing the whole file
system at once produces some strange effects.
Although the current navigation paradigm works well for
horizontal movement, it does not work well for vertical
movement.
There needs to be a way to have more than one top directory.
The meanings of height and color should be more
configurable. The age thresholds should and the number of
colors be configurable.
All files have a minimum height, even if they are zero size.
That is inconsistent, but looks better and avoids Z-
Buffering inaccuracies.
Within warp mode, file size should be relative only to files
Page 12 (printed 3/10/92)
ffffssssnnnn((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ffffssssnnnn((((1111))))
in that directory.
Lack of Z buffering precision leads to some strange effects.
Ideally the use of Z buffering should be eliminated, because
of its hardware limitations and because of its excess use of
memory on Indigo.
Although the text field at the top can be used to indicate
the first completion of a file, there is no way to find all
completions.
Only full path names can be typed in the text field, and
they may not contain "." or "..".
It is not all that easy to find a file in a large directory.
It doesn't look all that good on an Indigo.
It should be possible to split into more than two windows,
or to detach the windows.
If you try to monitor too much of the file system, or
restart the program too many times, FAM can get confused.
Logging out and in again may fix this problem.
A query mechanism should be provided (e.g. find all files
greater than 1MB and older than 6 months, highlight them (in
the main and overview windows), and visit them in order.)
Fsn is not particularly robust in the face of errors.
The viewer does not notify you if you exit without saving
changes.
FFFFIIIILLLLEEEESSSS
$HOME/.FSN*-The database of the file system.
/usr/lib/X11/app-defaults/Fsn-Defaults for resource values.
SSSSEEEEEEEE AAAALLLLSSSSOOOO
WorkSpace(1G)
Page 13 (printed 3/10/92)